package site.beanyon.now.service;

import site.beanyon.now.model.dto.TimePlanDTO;
import site.beanyon.now.model.po.TimePlanPO;

import java.util.List;

/**
 * 时间计划服务接口
 */
public interface TimePlanService {
    /**
     * 创建时间计划
     *
     * @param timePlanPO 时间计划PO
     */
    void createTimePlan(TimePlanPO timePlanPO);

    /**
     * 删除时间计划
     *
     * @param timePlanId 时间计划id
     * @return 是否删除成功
     */
    boolean deleteTimePlan(Integer timePlanId);

    /**
     * 获取用户的时间计划列表，用于传输到前端
     *
     * @return 时间计划DTO列表
     */
    List<TimePlanDTO> listTimePlan();

    /**
     * 获取用户的时间计划列表的活动名称，用于定时创建时间卡片
     *
     * @param userId 用户id
     * @return 活动名称列表
     */
    List<String> listTimePlanActivity(Integer userId);

    /**
     * 更新时间计划的状态
     * @param timePlanId 时间计划id
     * @return 是否更新成功
     */
    boolean updateTimePlanStatus(Integer timePlanId);
}
